package au.com.twosquared.animalfarm.entities.animals.model;

/**
 * Defines the ranks achievable after reincarnating an Animal
 * 
 * @author Sam Luc <sam.luc@twosquared.com.au>
 * @author Jan Martin <jan.martin@twosquared.com.au>
 * @version 1.0 Last Modified 2011-11-15
 * @since 2011-11-15
 */

public enum Rank {
	NEWBORN, NOVICE, ROOKIE, HUNTER, ADEPT, WARRIOR, VETERAN, CAPTAIN, HERO, ELITE, MASTER, GRANDMASTER, TITAN, ARCHTITAN, LEGENDARY, FABLED, DIVINE, GOD;

	/**
	 * Returns the Rank as a String when given a particular Rank
	 * 
	 * @param rank
	 *            the Rank to be changed into String
	 * @return The output of the String
	 */
	public String getTitle(Rank rank) {
		switch (rank) {
		case NEWBORN:
			return "Newborn";
		case NOVICE:
			return "Novice";
		case ROOKIE:
			return "Rookie";
		case HUNTER:
			return "Hunter";
		case ADEPT:
			return "Adept";
		case WARRIOR:
			return "Warrior";
		case VETERAN:
			return "Veteran";
		case CAPTAIN:
			return "Captain";
		case HERO:
			return "Hero";
		case ELITE:
			return "Elite";
		case MASTER:
			return "Master";
		case GRANDMASTER:
			return "Grandmaster";
		case TITAN:
			return "Titan";
		case ARCHTITAN:
			return "Archtitan";
		case LEGENDARY:
			return "Legendary";
		case FABLED:
			return "Fabled";
		case DIVINE:
			return "Divine";
		case GOD:
			return "God";
		default:
			return null;
		}
	}
}
